package bz.ziro.kanbe
{
	import mx.rpc.Fault;
	
	public class Globals
	{
		import mx.core.Application;
		import mx.controls.Alert;
		import mx.rpc.events.FaultEvent;

		private static var gblDomain:String = null;

		public function Globals() {
		}
		
		/**
		 * ドメインの取得
		 */ 
		public static function getDomain():String {

			//まだ取得してない場合	
			if ( gblDomain == null ) {
				
				//ローカル設定にする
				gblDomain = "http://localhost:8080/"; 
				//URLの取得
				var url:String = Application.application.url;	
				//比較対象を設定
				var httpExp:RegExp = new RegExp("http://[^/]*/");

				//HTTPだった場合
				if ( httpExp.test(url) ) {
					//ローカルホストアクセスにする
					var localExp:RegExp = new RegExp("http://localhost:8080/");
					//ローカルと違った場合
					if ( !localExp.test(url) ) {
						//URLを抜き出してドメインに設定
						gblDomain = httpExp.exec(url).toString();
					}
				}
			}
				
			return gblDomain;
		}
	
		//文字列からフラグ値の取得	
		public static function getFlag(value:String):Boolean {
			if ( value != null && value == "true" ) {
				return true;
			}
			return false;
		}
	
		//メッセージ表示	
		public static function errorMessage(text:String,messageXML:XML):Boolean {
    		var message:String = messageXML.text();
    		if ( message != "" ) {
    			Alert.show(text + "\n" + message);
    			return false;
    		}
    		return true;
			
		}

		//通信上の問題	
		public static function faultMessage(event:FaultEvent):Boolean {
		
			var fault:Fault = event.fault;	
    		Alert.show("通信中に例外が発生しました。" + "\n\n" + fault.message);

    		return false;
		}
	}
}